OpenStack Queens : Configure Swift#1 (Control Node)
2018/03/08 |
Configure OpenStack Object Storage (Swift).
This example is based on the emvironment like follows.
-+---------------+----------------------------+------------ | | | | eth0|10.0.0.30 eth0|10.0.0.50 | +-----------+-----------+ +-----------+-----------+ | | [ Control Node ] | | [ Proxy Node ] | | | | | | | | MariaDB RabbitMQ | | Swift Proxy | | | Memcached httpd | | | | | Keystone | | | | +-----------------------+ +-----------------------+ | +---------------+----------------------------+----------------------------+--------- eth0|10.0.0.71 eth0|10.0.0.72 eth0|10.0.0.73 +-----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ Storage Node#1 ] | | [ Storage Node#2 ] | | [ Storage Node#3 ] | | | | | | | | Swift-Account | | Swift-Account | | Swift-Account | | Swift-Container | | Swift-Container | | Swift-Container | | Swift-Object | | Swift-Object | | Swift-Object | +-----------------------+ +-----------------------+ +-----------------------+ |
[1] | Add Swift user or service on Keystone Server (Control Node) first. |
# add swift user [root@dlp ~(keystone)]# openstack user create --domain default --project service --password servicepassword swift +---------------------+----------------------------------+ | Field | Value | +---------------------+----------------------------------+ | default_project_id | b1da1070c8af427886d0202f8bbe414f | | domain_id | default | | enabled | True | | id | 5804c8f091ba41c0a5ab5d1cc597f0f0 | | name | swift | | options | {} | | password_expires_at | None | +---------------------+----------------------------------+ # add swift user in admin role [root@dlp ~(keystone)]# openstack role add --project service --user swift admin
# add an entry for swift service [root@dlp ~(keystone)]# openstack service create --name swift --description "OpenStack Object Storage" object-store +-------------+----------------------------------+ | Field | Value | +-------------+----------------------------------+ | description | OpenStack Object Storage | | enabled | True | | id | 38fc1c0f676447e19cdd42b12bb3425f | | name | swift | | type | object-store | +-------------+----------------------------------+ # define the IP address of Proxy Node [root@dlp ~(keystone)]# export swift_proxy=10.0.0.50
# add an entry for swift endpoint (public) [root@dlp ~(keystone)]# openstack endpoint create --region RegionOne object-store public http://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s +--------------+---------------------------------------------+ | Field | Value | +--------------+---------------------------------------------+ | enabled | True | | id | 1614e11758a34ff5994a87c341710e84 | | interface | public | | region | RegionOne | | region_id | RegionOne | | service_id | 38fc1c0f676447e19cdd42b12bb3425f | | service_name | swift | | service_type | object-store | | url | http://10.0.0.50:8080/v1/AUTH_%(tenant_id)s | +--------------+---------------------------------------------+ # add an entry for swift endpoint (internal) [root@dlp ~(keystone)]# openstack endpoint create --region RegionOne object-store internal http://$swift_proxy:8080/v1/AUTH_%\(tenant_id\)s +--------------+---------------------------------------------+ | Field | Value | +--------------+---------------------------------------------+ | enabled | True | | id | 9d486b585e1e4401b314b998c52cf20c | | interface | internal | | region | RegionOne | | region_id | RegionOne | | service_id | 38fc1c0f676447e19cdd42b12bb3425f | | service_name | swift | | service_type | object-store | | url | http://10.0.0.50:8080/v1/AUTH_%(tenant_id)s | +--------------+---------------------------------------------+ # add an entry for swift endpoint (admin) [root@dlp ~(keystone)]# openstack endpoint create --region RegionOne object-store admin http://$swift_proxy:8080/v1 +--------------+----------------------------------+ | Field | Value | +--------------+----------------------------------+ | enabled | True | | id | 329c40e488cc4ed79b34bceb052b8163 | | interface | admin | | region | RegionOne | | region_id | RegionOne | | service_id | 38fc1c0f676447e19cdd42b12bb3425f | | service_name | swift | | service_type | object-store | | url | http://10.0.0.50:8080/v1 | +--------------+----------------------------------+ |